草庐IT

SQLite 和并发

全部标签

javascript - 检查数据库是否存在并在 SQLite IOS 中删除数据库

我目前正在使用phonegap创建ios应用。在熟悉sqljavascript交互的同时,我似乎已经创建了同名数据库文件的10个版本。我目前正在使用以下创建代码(来自phonegapwiki)varmydb=false;//initialisethedatabaseinitDB=function(){try{if(!window.openDatabase){alert('notsupported');}else{varshortName='phonegap';varversion='1.0';vardisplayName='PhoneGapTestDatabase';varmaxSiz

iphone - 将大量 Sqlite 行加载到 UITableView 中

需要在我的UITableView中加载20,000个项目,我想知道执行此操作的最佳方法是什么。我目前在SQLite中使用直接查询。这会消耗太多内存,并且离开应用程序的速度很慢。 最佳答案 有几个选项:透明地分页数据或实现类似邮件的功能,您可以在其中单击以加载25个以上。如果透明地分页数据UITableView具有诸如行的总数据和加载数据之类的回调,因此非常完美,它是虚拟的并且可以重复使用单元格。但是,您不能进行基本选择,您必须一次选择x-例如,一页50。您必须首先为完整查询选择count(*),以便知道然后计数。然后,当回调请求第3

ios - AFNetworking:调度并发队列并在其中运行同步任务

我正在开发的应用程序中使用AFNetworking。对于下载请求,我使用了AFHTTPRequestOperation的setCompletionBlockWithSuccess:failure。这将成功block和失败block与operation相关联,然后使用addOperation将操作添加到NSOperationQueue。AFNetworking创建一个异步线程并在那里运行所有数据。但是,我想将三个操作添加到并发线程中,从而使它们同步运行。在GCD中也称为串行队列。我怎样才能在AFNetworking中实现它?我是否应该创建自己的串行队列,然后在该队列中addOperati

ios - 如何使用 Objective C 在 SQLITE 中启用外键约束

今天我注意到我的SQLite表上的外键约束不起作用。在阅读StackOverflow后,我发现应该启用它。所以,我正在寻找这样做的代码片段。到目前为止,我只能找到这个:[self.dbexecuteUpdate:@"PRAGMAforeign_keys=ON"];但这似乎对我不起作用,因为编译器总是提示。我看到人们将这一行用于FMDatabase类型(我什至不知道它是什么)。那么,如果我像这样打开数据库连接,我该如何启用外键约束:-(void)openDatabase{constchar*databaseFile=[[selfpathToDatabaseFile:@"readlater

ios - iOS10 是否删除了从 bundle 中读取 SQLite 数据库的功能?

我使用2个SQLite数据库:一个是bundle的一部分并存储静态/只读数据(称为Seed.sqlite),另一个是在首次启动时创建的(或自动迁移)并用于保存用户数据(User.sqlite)。管理只读数据库(Seed.sqlite)的持久存储是使用以下选项设置的:options[NSReadOnlyPersistentStoreOption]=trueoptions[NSSQLitePragmasOption]=["journal_mode":"DELETE"]它在模拟器中的iOS9.x和iOS10下运行良好,但在运行iOS10(至少是beta4和8)的设备上使用时会崩溃。我对Use

ios - NSURLSession委托(delegate)Queue的maxConcurrentOperationCount是如何影响任务并发的

我正在使用AFNetworking3.0,它使用NSURLSessionDataTask和一个operationQueue(AFURLSessionManager的属性),用作NSURLSession简单的说AFURLSessionManager.operationQueue==NSURLSession.delegateQueueAFNetworking3代码self.operationQueue=[[NSOperationQueuealloc]init];self.operationQueue.maxConcurrentOperationCount=1;self.session=[N

iphone - 从sqlite数据库中删除记录

我是ios开发的新手。你能帮我从表中删除一条记录吗?数据库和查询似乎很好。但我不知道为什么它不删除记录。我可以在我的控制台中看到nslog“配置文件已删除”。提前致谢。NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);NSString*documentsDirectory=[pathsobjectAtIndex:0];self.str_databasePath=[documentsDirectorystringByAppendingPathCompone

objective-c - SQLite3 (iOS) 查询未执行

我在让它工作时遇到了一些问题。这是我要执行的代码:[selfopenDB];sqlite3_stmt*statement;NSString*sql2=[NSStringstringWithFormat:@"INSERTINTOCheckList(CLName,DateAdd,Active,Costum,Percentage,UserId)VALUES('ola232332332324','2012-02-03',1,1,NULL,1)"];if(sqlite3_prepare_v2(db,[sql2UTF8String],-1,&statement,NULL)==SQLITE_OK){

ios - 从 objective-c 中的 sqlite 数据库中检索表名

如何在objective-c中检索sqlite3表名。例如,如果我创建了多个表,现在我想在终端中获取(显示)它们的名称,如.table。谢谢。 最佳答案 使用下面的代码:-(NSMutableArray*)fetchTableNames{sqlite3_stmt*statement;NSString*query=@"SELECTnameFROMsqlite_masterWHEREtype=\'table\'";intretVal=sqlite3_prepare_v2(YOUR_DB_OBJ,[queryUTF8String],-1,

【linux 多线程并发】线程本地数据存储的两种方式,每个线程可以有同名全局私有数据,以及两种方式的性能分析

线程本地数据(TLS)​专栏内容:参天引擎内核架构本专栏一起来聊聊参天引擎内核架构,以及如何实现多机的数据库节点的多读多写,与传统主备,MPP的区别,技术难点的分析,数据元数据同步,多主节点的情况下对故障容灾的支持。手写数据库toadb本专栏主要介绍如何从零开发,开发的步骤,以及开发过程中的涉及的原理,遇到的问题等,让大家能跟上并且可以一起开发,让每个需要的人成为参与者。本专栏会定期更新,对应的代码也会定期更新,每个阶段的代码会打上tag,方便阶段学习。​开源贡献:toadb开源库个人主页:我的主页管理社区:开源数据库座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物.文章目录线程本地数据